Compact Dispatch Tables for Dynamically Typed Object Oriented Languages
نویسندگان
چکیده
Dynamically typed object-oriented languages must perform dynamic binding for most message sends. Typically this is slow. A number of papers have reported on attempts to adapt C++-style selector table indexing to dynamically typed languages, but it is difficul to generate space-efficient tables. Our algorithm generates considerably smaller dispatch tables for languages with single inheritance than its predecessors at the cost of a small dispatch time penalty.
منابع مشابه
Taming Message Passing: Efficient Method Look-Up for Dynamically Typed Languages
Method look-up for dynamically typed object-oriented languages, such as SMALLTALK-80 or OBJECTIVE-C, is usually implemented by a cached inheritance search. Unfortunately, this technique is slow. A selector-indexed dispatch table implementation speeds up messages to within 10% of the speed of a statically typed language such as C++. We present a fast technique for generating compact selector-ind...
متن کاملIncremental Table-based Method Dispatch for Reeexive Object-oriented Languages
A collection of algorithms and data structures are presented which provide incremental dispatch table modiication. Incrementally modiied dispatch tables allow table-based dispatch techniques to be used in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain...
متن کاملIncremental Table-Based Method Dispatch for Reflective Object-Oriented Languages
A collection of algorithms and data structures are presented which provide incremental dispatch table modification. Incrementally modified dispatch tables allow table-based dispatch techniques to be used in reflective, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally main...
متن کاملInheritance Management and Method Dispatch in Reeexive Object-oriented Languages
A collection of algorithms and data structures are presented which represent a generalized framework for inheritance management and method dispatch in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain the entire dispatch environment during the four funda...
متن کاملMessage Dispatch on Pipelined Processors
Object-oriented systems must implement message dispatch efficiently in order not to penalize the object-oriented programming style. We characterize the performance of most previously published dispatch techniques for both staticallyand dynamically-typed languages with both single and multiple inheritance. Hardware organization (in particular, branch latency and superscalar instruction issue) si...
متن کامل